package juego;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;

import principal.Constantes;

import basicas.Posicion;

public abstract class Bonus extends ObjetoDelJuego implements IAnimado {
	private int tiempoDesaparecer;
	
	public Bonus(Posicion posicionInicial) {
		super(posicionInicial);
		tiempoDesaparecer = Constantes.TIEMPO_DESAPARECER_BONUS;
	}
	
	public Bonus(Node n) {
		super(n);	
	}

	public void vivir() {	
		if (getPosicion().Distancia(getNivel().getAlgoTank().getPosicion()) < 1) {	// La distancia al tanque principal.
			efectoBonus();			
			morir();			
		}
		tiempoDesaparecer = tiempoDesaparecer - 1;
		if (tiempoDesaparecer < 0) morir();
	}

	public void informarPosicion() {
		
	}

	public abstract void efectoBonus(); 
	
	public Element getElemento(Document doc) {		
		Element nuevoNodo;
		
		nuevoNodo = super.getElemento(doc);	
						
		return nuevoNodo;
	}
}
